Support for multiple data types

Handle batch processing and/or real time data streams

Utilize what already exists in your environment

Support NoSQL and other newer forms of accessing data

Overcome low latency

Provide cheap storage

Integrate with cloud deployments